home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power Programmierung
/
Power-Programmierung (Tewi)(1994).iso
/
magazine
/
pctchnqs
/
1991
/
number1
/
typesall.h
< prev
next >
Wrap
C/C++ Source or Header
|
1990-12-28
|
2KB
|
105 lines
#ifndef __TYPES_H
#define __TYPES_H
enum datatype{EMPTY,
INT,LONG,FLOAT,DOUBLE,LDOUBLE,
STRING,
DERIVED};
class value{
public:
char* namptr;
value(); value(char* namestr); //constructor
virtual ~value(); //destructor
//return characteristics
virtual const char* name(){return namptr;}
virtual int valid();
virtual datatype type(); virtual const char* typename();
//return value in different forms
virtual int asint();
virtual long aslong();
virtual float asfloat();
virtual double asdouble();
virtual long double asldouble();
virtual const char* asstring();};
class ival:public value{
protected:
int data;
public:
ival(char* namestr, int val);
datatype type(); const char* typename();
int asint();
long aslong();
float asfloat();
double asdouble();
long double asldouble();
const char* asstring();};
class lval:public value{
protected:
long data;
public:
lval(char* namestr, long val);
datatype type(); const char* typename();
int asint();
long aslong();
float asfloat();
double asdouble();
long double asldouble();
const char* asstring();};
class fval:public value{
protected:
float data;
public:
fval(char* namestr, float val);
datatype type(); const char* typename();
int asint();
long aslong();
float asfloat();
double asdouble();
long double asldouble();
const char* asstring();};
class dval:public value{
protected:
double data;
public:
dval(char* namestr, double val);
datatype type(); const char* typename();
int asint();
long aslong();
float asfloat();
double asdouble();
long double asldouble();
const char* asstring();};
class ldval:public value{
protected:
long double data;
public:
ldval(char* namestr, long double val);
datatype type(); const char* typename();
int asint();
long aslong();
float asfloat();
double asdouble();
long double asldouble();
const char* asstring();};
class sval:public value{
protected:
char* data;
public:
sval(char* namestr, char* val);
~sval(); //supplemental destructor
datatype type(); const char* typename();
int asint();
long aslong();
float asfloat();
double asdouble();
long double asldouble();
const char* asstring();};
#endif